.\" Copyright 1996 Daniel Quinlan (Daniel.Quinlan@linux.org)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" 2007-12-14 mtk Added Reiserfs, XFS, JFS.
.\"
.TH filesystems 5 2024-05-02 "Linux man-pages 6.9.1"
.nh
.SH NAME
filesystems \- Linux filesystem types: ext, ext2, ext3, ext4, hpfs, iso9660,
JFS, minix, msdos, ncpfs nfs, ntfs, proc, Reiserfs, smb, sysv, umsdos, vfat,
XFS, xiafs
.SH DESCRIPTION
When, as is customary, the
.B proc
filesystem is mounted on
.IR /proc ,
you can find in the file
.I /proc/filesystems
which filesystems your kernel currently supports;
see
.BR proc (5)
for more details.
There is also a legacy
.BR sysfs (2)
system call (whose availability is controlled by the
.\" commit: 6af9f7bf3c399e0ab1eee048e13572c6d4e15fe9
.B CONFIG_SYSFS_SYSCALL
kernel build configuration option since Linux 3.15)
that enables enumeration of the currently available filesystem types
regardless of
.I /proc
availability and/or sanity.
.P
If you need a currently unsupported filesystem, insert the corresponding
kernel module or recompile the kernel.
.P
In order to use a filesystem, you have to
.I mount
it; see
.BR mount (2)
and
.BR mount (8).
.P
The following list provides a
short description of the available or historically available
filesystems in the Linux kernel.
See the kernel documentation for a comprehensive
description of all options and limitations.
.TP
.B erofs
is the Enhanced Read-Only File System, stable since Linux 5.4.
.\" commit 47e4937a4a7ca4184fd282791dfee76c6799966a moves it out of staging
See
.BR erofs (5).
.TP
.B ext
is an elaborate extension of the
.B minix
filesystem.
It has been completely superseded by the second version
of the extended filesystem
.RB ( ext2 )
and has been removed from the kernel (in Linux 2.1.21).
.TP
.B ext2
is a disk filesystem that was used by Linux for fixed disks
as well as removable media.
The second extended filesystem was designed as an extension of the
extended filesystem
.RB ( ext ).
See
.BR ext2 (5).
.TP
.B ext3
is a journaling version of the
.B ext2
filesystem.
It is easy to
switch back and forth between
.B ext2
and
.BR ext3 .
See
.BR ext3 (5).
.TP
.B ext4
is a set of upgrades to
.B ext3
including substantial performance and
reliability enhancements,
plus large increases in volume, file, and directory size limits.
See
.BR ext4 (5).
.TP
.B hpfs
is the High Performance Filesystem, used in OS/2.
This filesystem is
read-only under Linux due to the lack of available documentation.
.TP
.B iso9660
is a CD-ROM filesystem type conforming to the ISO/IEC\~9660 standard.
.RS
.TP
.B "High Sierra"
Linux supports High Sierra, the precursor to the ISO/IEC\~9660 standard for
CD-ROM filesystems.
It is automatically recognized within the
.B iso9660
filesystem support under Linux.
.TP
.B "Rock Ridge"
Linux also supports the System Use Sharing Protocol records specified
by the Rock Ridge Interchange Protocol.
They are used to further describe the files in the
.B iso9660
filesystem to a UNIX host, and provide information such as long
filenames, UID/GID, POSIX permissions, and devices.
It is automatically recognized within the
.B iso9660
filesystem support under Linux.
.RE
.TP
.B JFS
is a journaling filesystem, developed by IBM,
that was integrated into Linux 2.4.24.
.TP
.B minix
is the filesystem used in the Minix operating system, the first to run
under Linux.
It has a number of shortcomings, including a 64\ MB partition size
limit, short filenames, and a single timestamp.
It remains useful for floppies and RAM disks.
.TP
.B msdos
is the filesystem used by DOS, Windows, and some OS/2 computers.
.B msdos
filenames can be no longer than 8 characters, followed by an
optional period and 3 character extension.
.TP
.B ncpfs
is a network filesystem that supports the NCP protocol,
used by Novell NetWare.
It was removed from the kernel in Linux 4.17.
.IP
To use
.BR ncpfs ,
you need special programs, which can be found at
.UR ftp://ftp.gwdg.de\:/pub\:/linux\:/misc\:/ncpfs
.UE .
.TP
.B nfs
is the network filesystem used to access disks located on remote computers.
.TP
.B ntfs
is the filesystem native to Microsoft Windows NT,
supporting features like ACLs, journaling, encryption, and so on.
.TP
.B proc
is a pseudo filesystem which is used as an interface to kernel data
structures rather than reading and interpreting
.IR /dev/kmem .
In particular, its files do not take disk space.
See
.BR proc (5).
.TP
.B Reiserfs
is a journaling filesystem, designed by Hans Reiser,
that was integrated into Linux 2.4.1.
.TP
.B smb
is a network filesystem that supports the SMB protocol, used by
Windows.
See
.UR https://www.samba.org\:/samba\:/smbfs/
.UE .
.TP
.B sysv
is an implementation of the System V/Coherent filesystem for Linux.
It implements all of Xenix FS, System V/386 FS, and Coherent FS.
.TP
.B umsdos
is an extended DOS filesystem used by Linux.
It adds capability for
long filenames, UID/GID, POSIX permissions, and special files
(devices, named pipes, etc.) under the DOS filesystem, without
sacrificing compatibility with DOS.
.TP
.B tmpfs
is a filesystem whose contents reside in virtual memory.
Since the files on such filesystems typically reside in RAM,
file access is extremely fast.
See
.BR tmpfs (5).
.TP
.B vfat
is an extended FAT filesystem used by Microsoft Windows95 and Windows NT.
.B vfat
adds the capability to use long filenames under the MSDOS filesystem.
.TP
.B XFS
is a journaling filesystem, developed by SGI,
that was integrated into Linux 2.4.20.
.TP
.B xiafs
was designed and implemented to be a stable, safe filesystem by
extending the Minix filesystem code.
It provides the basic most
requested features without undue complexity.
The
.B xiafs
filesystem is no longer actively developed or maintained.
It was removed from the kernel in Linux 2.1.21.
.SH SEE ALSO
.BR fuse (4),
.BR btrfs (5),
.BR ext2 (5),
.BR ext3 (5),
.BR ext4 (5),
.BR nfs (5),
.BR proc (5),
.BR sysfs (5),
.BR tmpfs (5),
.BR xfs (5),
.BR fsck (8),
.BR mkfs (8),
.BR mount (8)
